package com.ktgj.flight.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 国际机票支付信息对象 iflight_payment
 * 
 * @author ruoyi
 * @date 2022-05-31
 */
public class IflightPayment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 信用卡支付ID */
    private Long payid;

    /** 订单表主键ID */
    @Excel(name = "订单表主键ID")
    private Long orderid;

    /** $column.columnComment */
    @Excel(name = "订单表主键ID")
    private Long jsjid;

    /** 银行代码 */
    @Excel(name = "银行代码")
    private String bankcode;

    /** 银行名称 */
    @Excel(name = "银行名称")
    private String bankname;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String banknum;

    /** 银行预留的手机 */
    @Excel(name = "银行预留的手机")
    private String tel;

    /** 持有人姓名 */
    @Excel(name = "持有人姓名")
    private String ownername;

    /** 证件号 */
    @Excel(name = "证件号")
    private String cardid;

    /** 第三方支付编号(易宝,快钱，支付宝，微信，银联语音等) */
    @Excel(name = "第三方支付编号(易宝,快钱，支付宝，微信，银联语音等)")
    private Long partnerid;

    /** 第三方支付编号(易宝,快钱，支付宝，微信，银联语音等) */
    @Excel(name = "第三方支付编号(易宝,快钱，支付宝，微信，银联语音等)")
    private String partnername;

    /** 支付方式：  信用卡 = 1,
        借记卡 = 2,
        汇款 = 3,
        取现 = 4,
        预留款 = 5,
        线下付款 = 6,
        担保 = 7,

        大客户 = 9,
        差旅 = 10,
        月结 = 11,

        线下易宝 = 12,
        线下快钱 = 13,
        线下银联卡 = 14,
        线下现金 = 15,

        微信支付 = 16,
        支付宝 = 17,
        ApplePay = 18,其他 = 8 */
    @Excel(name = "支付方式：  信用卡 = 1,\n" +
            "        借记卡 = 2,\n" +
            "        汇款 = 3,\n" +
            "        取现 = 4,\n" +
            "        预留款 = 5,\n" +
            "        线下付款 = 6,\n" +
            "        担保 = 7,\n" +
            "\n" +
            "        大客户 = 9,\n" +
            "        差旅 = 10,\n" +
            "        月结 = 11,\n" +
            "\n" +
            "        线下易宝 = 12,\n" +
            "        线下快钱 = 13,\n" +
            "        线下银联卡 = 14,\n" +
            "        线下现金 = 15,\n" +
            "\n" +
            "        微信支付 = 16,\n" +
            "        支付宝 = 17,\n" +
            "        ApplePay = 18,其他 = 8")
    private Long paytype;

    /** 支付方式：  信用卡 = 1,支付方式：  信用卡 = 1,
        借记卡 = 2,
        汇款 = 3,
        取现 = 4,
        预留款 = 5,
        线下付款 = 6,
        担保 = 7,

        大客户 = 9,
        差旅 = 10,
        月结 = 11,

        线下易宝 = 12,
        线下快钱 = 13,
        线下银联卡 = 14,
        线下现金 = 15,

        微信支付 = 16,
        支付宝 = 17,
        ApplePay = 18,其他 = 8 */
    @Excel(name = "支付方式：  信用卡 = 1,支付方式：  信用卡 = 1,\n" +
            "        借记卡 = 2,\n" +
            "        汇款 = 3,\n" +
            "        取现 = 4,\n" +
            "        预留款 = 5,\n" +
            "        线下付款 = 6,\n" +
            "        担保 = 7,\n" +
            "\n" +
            "        大客户 = 9,\n" +
            "        差旅 = 10,\n" +
            "        月结 = 11,\n" +
            "\n" +
            "        线下易宝 = 12,\n" +
            "        线下快钱 = 13,\n" +
            "        线下银联卡 = 14,\n" +
            "        线下现金 = 15,\n" +
            "\n" +
            "        微信支付 = 16,\n" +
            "        支付宝 = 17,\n" +
            "        ApplePay = 18,其他 = 8")
    private String paytypename;

    /** 交易金额 */
    @Excel(name = "交易金额")
    private BigDecimal amount;

    /** 交易流水号 */
    @Excel(name = "交易流水号")
    private String externalbillno;

    /** 支付订单号，格式：ChannelId_OrderId（83_481705） */
    @Excel(name = "支付订单号，格式：ChannelId_OrderId", readConverterExp = "8=3_481705")
    private String tradeorderid;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tradetime;

    /** 0：失败， 1：成功 */
    @Excel(name = "0：失败， 1：成功")
    private Long status;

    /** 支付状态内容描述，注：支付失败的换，存储原因 */
    @Excel(name = "支付状态内容描述，注：支付失败的换，存储原因")
    private String statusmsg;

    /** 支付回调通知信息（接受通知时间，ip，地址，内容，返回信息） */
    @Excel(name = "支付回调通知信息", readConverterExp = "接=受通知时间，ip，地址，内容，返回信息")
    private String notifymsg;

    /** $column.columnComment */
    @Excel(name = "支付回调通知信息", readConverterExp = "$column.readConverterExp()")
    private Long bigorderid;

    /** 会员名称 */
    @Excel(name = "会员名称")
    private String jsjname;

    /** 金色会员卡号 */
    @Excel(name = "金色会员卡号")
    private String jsjcardnum;

    public void setPayid(Long payid) 
    {
        this.payid = payid;
    }

    public Long getPayid() 
    {
        return payid;
    }
    public void setOrderid(Long orderid) 
    {
        this.orderid = orderid;
    }

    public Long getOrderid() 
    {
        return orderid;
    }
    public void setJsjid(Long jsjid) 
    {
        this.jsjid = jsjid;
    }

    public Long getJsjid() 
    {
        return jsjid;
    }
    public void setBankcode(String bankcode) 
    {
        this.bankcode = bankcode;
    }

    public String getBankcode() 
    {
        return bankcode;
    }
    public void setBankname(String bankname) 
    {
        this.bankname = bankname;
    }

    public String getBankname() 
    {
        return bankname;
    }
    public void setBanknum(String banknum) 
    {
        this.banknum = banknum;
    }

    public String getBanknum() 
    {
        return banknum;
    }
    public void setTel(String tel) 
    {
        this.tel = tel;
    }

    public String getTel() 
    {
        return tel;
    }
    public void setOwnername(String ownername) 
    {
        this.ownername = ownername;
    }

    public String getOwnername() 
    {
        return ownername;
    }
    public void setCardid(String cardid) 
    {
        this.cardid = cardid;
    }

    public String getCardid() 
    {
        return cardid;
    }
    public void setPartnerid(Long partnerid) 
    {
        this.partnerid = partnerid;
    }

    public Long getPartnerid() 
    {
        return partnerid;
    }
    public void setPartnername(String partnername) 
    {
        this.partnername = partnername;
    }

    public String getPartnername() 
    {
        return partnername;
    }
    public void setPaytype(Long paytype) 
    {
        this.paytype = paytype;
    }

    public Long getPaytype() 
    {
        return paytype;
    }
    public void setPaytypename(String paytypename) 
    {
        this.paytypename = paytypename;
    }

    public String getPaytypename() 
    {
        return paytypename;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setExternalbillno(String externalbillno) 
    {
        this.externalbillno = externalbillno;
    }

    public String getExternalbillno() 
    {
        return externalbillno;
    }
    public void setTradeorderid(String tradeorderid) 
    {
        this.tradeorderid = tradeorderid;
    }

    public String getTradeorderid() 
    {
        return tradeorderid;
    }
    public void setTradetime(Date tradetime) 
    {
        this.tradetime = tradetime;
    }

    public Date getTradetime() 
    {
        return tradetime;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setStatusmsg(String statusmsg) 
    {
        this.statusmsg = statusmsg;
    }

    public String getStatusmsg() 
    {
        return statusmsg;
    }
    public void setNotifymsg(String notifymsg) 
    {
        this.notifymsg = notifymsg;
    }

    public String getNotifymsg() 
    {
        return notifymsg;
    }
    public void setBigorderid(Long bigorderid) 
    {
        this.bigorderid = bigorderid;
    }

    public Long getBigorderid() 
    {
        return bigorderid;
    }
    public void setJsjname(String jsjname) 
    {
        this.jsjname = jsjname;
    }

    public String getJsjname() 
    {
        return jsjname;
    }
    public void setJsjcardnum(String jsjcardnum) 
    {
        this.jsjcardnum = jsjcardnum;
    }

    public String getJsjcardnum() 
    {
        return jsjcardnum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("payid", getPayid())
            .append("orderid", getOrderid())
            .append("jsjid", getJsjid())
            .append("bankcode", getBankcode())
            .append("bankname", getBankname())
            .append("banknum", getBanknum())
            .append("tel", getTel())
            .append("ownername", getOwnername())
            .append("cardid", getCardid())
            .append("partnerid", getPartnerid())
            .append("partnername", getPartnername())
            .append("paytype", getPaytype())
            .append("paytypename", getPaytypename())
            .append("amount", getAmount())
            .append("externalbillno", getExternalbillno())
            .append("tradeorderid", getTradeorderid())
            .append("tradetime", getTradetime())
            .append("status", getStatus())
            .append("statusmsg", getStatusmsg())
            .append("createTime", getCreateTime())
            .append("notifymsg", getNotifymsg())
            .append("bigorderid", getBigorderid())
            .append("jsjname", getJsjname())
            .append("jsjcardnum", getJsjcardnum())
            .toString();
    }
}
